// 一般vuex写到store文件夹下 index.js
// vuex写到 vuex文件夹 store.js
import Vue from "vue";
import Vuex from 'vuex';

// 声明使用插件
Vue.use(Vuex);

// vuex中的四个核心对象

// state用来存放公共数据 相当data
const state = {
    count:0,
    info:"王洋洋是联合国第一帅！！！"
};
// mutations包含了多个直接更改state数据的方法
const mutations = {
    add(){
        state.count++;
    },
    decrement(){
        state.count--;
    }
};
// actions中包含多个间接更改state的数据的方法
const actions = {
    addAct({commit}){
        commit('add')
    },
    decrementAct({commit}){
        commit('decrement')
    }
};
// getters包含多个计算属性
const getters = {
    evenOrOdd(){
        return state.count % 2 == 0 ?"偶数":"奇数";
    }
};

// 暴露
export default new Vuex.Store({
    state,
    mutations,
    actions,
    getters
})